///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						     //
//		   Le Choeur d'Enfants 		     //
//	           de JOINVILLE DHTML (version 1.0)	     //
//						     //
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


// Bienvenue dans le monde du DHTML
// Rod MAURICE		songoku@club-internet.fr
//			ICQ : 13321701


// Sites de référence :
//	* www.htmlguru.com	rouyer@htmlguru.com
//	* www.bratta.com/dhtml	webmaster@bratta.com
//


// Mise à jour globale du site.


//  Nom d'appel des pages externes

window.name = 'wonderland';

function onerror() {
	document.location.href = "";
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						              //
//		  Détecteur de navigateur	                                 //
//						              //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


function Is() {
    var agent = navigator.userAgent.toLowerCase();
    this.major = parseInt(navigator.appVersion);
    this.minor = parseFloat(navigator.appVersion);
    this.ns  = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
    this.ns2 = (this.ns && (this.major == 2));
    this.ns3 = (this.ns && (this.major == 3));
    this.ns4b = (this.ns && (this.major == 4) && (this.minor <= 4.03));
    this.ns4 = (this.ns && (this.major >= 4));
    this.ie   = (agent.indexOf("msie") != -1);
    this.ie3  = (this.ie && (this.major == 2));
    this.ie4  = (this.ie && (this.major >= 4));
    this.op3 = (agent.indexOf("opera") != -1);
}

var is = new Is()


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						              //
//           rendre compatible les browsers de 4ème génération	              //
//						              //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


if(is.ns4) {
    doc = "document";
    sty = "";
    htm = ".document"
    img = ".document";
    xpos = "e.pageX";
    ypos = "e.pageY";
} else if(is.ie4) {
    doc = "document.all";
    sty = ".style";
    htm = "";
    img = ".document";
    xpos = "event.x";
    ypos = "event.y";
}



///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						             //
//  	                Positionnement, chargement 		             //
//	et définitions de tous les objets (textes, images ...)	             //
//				       		             //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


function imageObject(image_url) {
	this.obj = new Image()
	this.obj.onload = (is.ns4b) ? loadCheck() : loadCheck;
	this.obj.src = image_url;
	return this.obj;
}

function layerObject(name,left,top) {
	this.obj = eval(doc + '[name]' + sty);
	this.obj.left = left;
	this.obj.top = top;
	return this.obj;
}

function htmlObject(name) {
	this.obj = eval(doc + '[name]' + htm);
	return this.obj;
}

function imgObject(name) {
	this.obj = eval(doc + '[name]' + img);
	return this.obj;
}

function arrayObject(text,child,image,url) {
    this.text = text;
    this.child = child;
    this.image = image;
    this.url = url;
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						              //
//		 Layer qui va faire patienter ...		              //
//						              //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	

function hideIt(){
	if(is.ie4 || is.ns4){
		if(is.ns4) document.waitSite.visibility="hidden"
		else waitSite.style.visibility="hidden"
	}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						              //
//	Fonction "Top" ; de remettre la page au top	              //
//						              //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    function topPage() {
           contentLyr.top = 40;
           dragmeLyr.top = 40;
	}


var drag = false;
var page_height = 0;

function mouseMove(e) {
	mouse_y = eval(ypos);
	if(drag) {
		if(mouse_y > 10 && mouse_y < available_height-10) {
	        contentLyr.top = page_height * -(mouse_y/available_height)+40;
	        dragmeLyr.top = mouse_y - 10;
	        choreographer('parallax',null);
	    }
	}
}

function mouseDown(e) {

    if(mouse_y > parseInt(dragmeLyr.top) && mouse_y < parseInt(dragmeLyr.top)+30) {
    	page_height = (is.ns4) ? contentHTML.height : document.all.contentLayer.document.spacer.height;
		dragmeLyr.left = available_width-140;
    	clipLayer(dragmeLyr,0,120,30,60);
        drag = true;
    }
}

function mouseUp(e) {
	dragmeLyr.left = available_width-80;
   	clipLayer(dragmeLyr,0,60,30,0);
    drag = false;
}




////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						              //
//	       Fonction CLip Layer : faire apparaître		              //
//	           la portion d'image qu'on désire		              //
//						              //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function clipLayer() {
	var arg = clipLayer.arguments;
	var layer = arg[0];
	if(is.ns4) {
		layer.clip.top = arg[1];
		layer.clip.right = arg[2];
		layer.clip.bottom = arg[3];
		layer.clip.left =  arg[4];
	} else {
		layer.clip = 'rect(' + arg[1] + ' ' + arg[2] + ' ' + arg[3] + ' ' + arg[4] + ')';
	}
}





////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						              //
//	     Chargement de la page externe		              //
//            et des éventuelles fonctions ou interactions 	              //
//						              //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function loadPage(url) {
	selected_url = url;
	page_width = available_width-210;
	contentLyr.top = 40;
	dragmeLyr.top = 40;
	notesLyr.left = 80;
	dragmeLyr.visibility = 'hidden';

	choreographer('displayHTML',contentHTML,'<center><br><br><br><br><br><br><br><br><table width=500><td align=middle></td></table></center>');
	if(is.ie4) {
		contentLyr.width = page_width;
		document.all.ieContent.document.frames["ieframe"].document.location.href = selected_url;
		dragmeLyr.visibility = 'visible';
	} else if(is.ns4) {
		contentLyr.load(selected_url,page_width);
		dragmeLyr.visibility = 'visible';
	}

}

var count = 0;

function loadCheck() {
    count++;
    if(count == 3) {
       choreographer('layerSetup');
   }
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						              //
//	       Toutes les fonctions "boules de neige"	              //
//                  Préchargement, positionnement, événements,	              //
//	      animations, menu interactif, variables ...	              //
//						              //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var contentHTML = "";

function choreographer() {
	var arg = choreographer.arguments;
	
    switch(arg[0]) {
        case 'preLoad' :

		    partition = new imageObject('images/fog.gif');
		    notes = new imageObject('images/notes.gif');
		    logo = new imageObject('images/logo.gif');
		    
		break;
		
        case 'layerSetup' :
		    cloudsLyr = new layerObject('cloudsLayer',0,0);
		    toolbarLyr = new layerObject('toolbarLayer',(available_width)/2-310,available_height-25);
		    partitionLyr = new layerObject('partitionLayer',0,available_height-120);
		    logoLyr = new layerObject('logoLayer',available_width-130,parseInt(partitionLyr.top)-20);
		    notesLyr = new layerObject('notesLayer',80,parseInt(partitionLyr.top)-50);
		    cleLyr = new layerObject('cleLayer',10,parseInt(partitionLyr.top)-20);
		    topLyr = new layerObject('topLayer', available_width-140,5);
		    contentLyr = new layerObject('contentLayer',20,40);
		    dragmeLyr = new layerObject('dragmeLayer',available_width-80,40);
		    eventLyr = new layerObject('eventLayer',available_width-100,0);
		    
		    choreographer('arraySetup');
		break;

        case 'arraySetup' :
            			// Calcul de la planète lancée par la nymphe

          		  var base = (available_height-268);
            			guruArray = new Array(base/2, base/2.5, base/3, base/3.5,base/4,base/4.5,base/5,base/5.5,base/6,base/6.5,base/7,base/7.5,base/8,base/8.5,base/9,base/9.5,base/10,base/10.5,base/11, base/11.5, base/12);

			choreographer('htmlSetup');
		break;

		case 'htmlSetup' :

			eventArea = new htmlObject('eventLayer');
			contentHTML = new htmlObject('contentLayer');
			choreographer('eventSetup');
		break;

        case 'eventSetup' :
			if(is.ns4) {
				eventArea.captureEvents(Event.MOUSEMOVE || Event.MOUSEDOWN || Event.MOUSEUP);
			}
			eventArea.onmousemove = mouseMove;
			eventArea.onmousedown = mouseDown;
			eventArea.onmouseup = mouseUp;
			choreographer('clippingSetup');
		break;
		
        case 'clippingSetup' :
			clipLayer(cloudsLyr,0,available_width,238,0);
			clipLayer(partitionLyr,0,available_width,106,0);

			choreographer('visibilitySetup');
		break;

        case 'visibilitySetup' :
			cloudsLyr.visibility = 'visible';
		 	notesLyr.visibility ='visible';
			logoLyr.visibility = 'visible';
			partitionLyr.visibility = 'visible';
			cleLyr.visibility = 'visible';
			eventLyr.visibility = 'visible';
			contentLyr.visibility = 'visible';
			topLyr.visibility = 'visible';
			toolbarLyr.visibility = 'visible';

			choreographer('start');
		break;

		case 'start' :
			topLyr.visibility = 'visible';
			setTimeout('loadPage("menu/index.htm")',1000);
			
		break;

		case 'parallax' :

			if(notesLyr.left< -70) {
				notesLyr.left=available_width;
			}

			var pos2 = parseInt(notesLyr.left);
			notesLyr.left = pos2 + 1;

		break;

		case 'setHeight' :
			if(is.ie4) {
				choreographer('displayHTML',contentHTML,document.all.ieContent.document.frames['ieframe'].document.body.innerHTML);
			}
		break;

		case 'displayHTML' :
			if(is.ns4) {
				arg[1].write(arg[2]);
				arg[1].close();
			} else {
				arg[1].innerHTML = arg[2];
			}
		break;
	}
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//						//
//              Fenêtre POP UP qui s'ouvre automatiquement	//
//	             de façon centrée à l'écran		//
//						//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////


var displayWindow = null;

function displayTechnique(width,height,url,menu,scroll) {
        var window_width = width;
        var window_height = height;
        var window_top = (screen.height-window_height)/2;
        var window_left = (screen.width-window_width)/2;
        displayWindow = window.open(''+ url + '','display','resizable=yes,menubar=' + menu + ',scrollbars=' + scroll + ',width=' + window_width + ',height=' + window_height + ',top=' + window_top + ',left=' + window_left + '');
        displayWindow.focus();
    }

